layui.use(['table', 'admin', 'ax', 'func', 'form'], function () {
    var $ = layui.$;
    var table = layui.table;
    var $ax = layui.ax;
    var form = layui.form;

    form.render();

    var ck_Ids=[];//存储的表格数据编号
    //穿参过来的id
    var tempId = Changein.getUrlParam("id");
    if(!Changein.isNull(tempId)){
        ck_Ids.push(tempId);
    }

    /**
     * 物料档案管理
     */
    var ClientGrid = {
        tableId: "clientGridTable"
    };

    /**
     * 初始化表格的列
     */
    ClientGrid.initColumn = function () {
        return [[
            {type: 'checkbox'},
            {field: 'id', hide: true, title: ''},
            {field: 'clientCode', sort: true, title: '客户代码'},
            {field: 'clientName', sort: true, title: '客户名称'},
            {field: 'phone', sort: true, title: '固定电话'},
            {field: 'mobile', sort: true, title: '手机号码'},
            {field: 'linkMan', sort: true, title: '联系人'},
            {field: 'address', sort: true, title: '登记地址'},
            {field: 'contactTax', sort: true, title: '税率'},
            {field: 'outerCode', sort: true, title: '外部编码'},
            {field: 'discount', sort: true, title: '折扣'}
        ]];
    };

    /**
     * 点击查询按钮
     */
    ClientGrid.search = function () {
        var queryData = {};

        queryData['clientCode'] = $('#clientCode').val();
        queryData['clientName'] = $('#clientName').val();
        queryData['outerCode'] = $('#outerCode').val();

        table.reload(ClientGrid.tableId, {
            where: queryData, page: {curr: 1}
        });
    };

    // 渲染表格

    var tableResult = table.render({
        elem: '#' + ClientGrid.tableId,
        url: Changein.ctxPath + '/client/clientGridList',
        page: true,
        height: "full-130",
        cellMinWidth: 120,
        cols: ClientGrid.initColumn(),
        done: function (res, curr, count) {
            //如果是异步请求数据方式，res即为你接口返回的信息。
            $.each(res.data, function (index, row) {
                //选中上次勾选的数据
                var result = ck_Ids.some(function (item) {//判断编号是否存在
                    if (item == row['id']) {
                        return true;
                    } else {
                        return false;
                    }
                });
                if (result) {
                    //这里才是真正实现的有效勾选
                    row["LAY_CHECKED"] = 'true';
                    //找到对应数据改变勾选样式，呈现出选中效果
                    var _index = row['LAY_TABLE_INDEX'];
                    $('tr[data-index=' + _index + '] input[type="checkbox"]').prop('checked', true);
                    $('tr[data-index=' + _index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
                }
            });
            //设置全选checkbox的选中状态，只有改变LAY_CHECKED的值， table.checkStatus才能抓取到选中的状态
            var checkStatus = table.checkStatus(ClientGrid.tableId);
            if (checkStatus.isAll) {
                //设置表头的checkbox勾选样式
                $('.layui-table-header th[data-field="id"] input[type="checkbox"]').prop('checked', true);
                $('.layui-table-header th[data-field="id"] input[type="checkbox"]').next().addClass('layui-form-checked');
            }
            form.render();
        }
    });

    $(document).on("click",".layui-table-body table.layui-table tbody tr", function () {
        var index = $(this).attr('data-index');
        var tableBox = $(this).parents('.layui-table-box');
        //存在固定列
        if (tableBox.find(".layui-table-fixed.layui-table-fixed-l").length>0) {
            tableDiv = tableBox.find(".layui-table-fixed.layui-table-fixed-l");
        } else {
            tableDiv = tableBox.find(".layui-table-body.layui-table-main");
        }
        //获取已选中列并取消选中
        var trs = tableDiv.find(".layui-unselect.layui-form-checkbox.layui-form-checked").parent().parent().parent();
        for(var i = 0;i<trs.length;i++){
            var ind = $(trs[i]).attr("data-index");
            if(ind!=index){
                var checkCell = tableDiv.find("tr[data-index=" + ind + "]").find("td div.laytable-cell-checkbox div.layui-form-checkbox I");
                if (checkCell.length>0) {
                    checkCell.click();
                }
            }
        }
        //选中单击行
        var checkCell = tableDiv.find("tr[data-index=" + index + "]").find("td div.laytable-cell-checkbox div.layui-form-checkbox I");
        if (checkCell.length>0 & trs.length===1) {
            checkCell.click();
        }else{
            checkCell.click();
        }
        //选中背景色
        $(this).siblings().css("background-color", "#FFFFFF");
        $(this).css("background-color", "#F2F2F2");
    });
    $(document).on("click", "td div.laytable-cell-checkbox div.layui-form-checkbox", function (e) {
        e.stopPropagation();
    });

    // 搜索按钮点击事件
    $('#btnSearch').click(function () {
        ClientGrid.search();
    });

});
var callbackdata = function () {
    return layui.table.checkStatus('clientGridTable').data;
}
